1. Field of the Invention
This invention generally relates to communications, and more specifically to a system and method for diagnostics supervision of Internet transmissions, such as VoIP calls.
2. Related Art
The uses of the public Internet are very diverse. A use that has recently gained much attention is Voice-over-Internet Protocol (VoIP) technology, which involves using the public Internet or a private IP network to carry voice calls, either partially or completely bypassing the public switched telephone network (PSTN).
VoIP, as well as video conferencing, has been used by computer hobbyists to place no-charge, and typically low-quality, calls over the Internet, using microphones, video cameras, and speakers connected to a personal computer (PC) audio card supported by audio/video software. Commercial applications of VoIP technology are now emerging. Various types of services can be provided using VoIP, including enterprise toll bypass, IP-based IntereXchange Carrier (IXC; long distance) service, and IP-based local telephony.
As is well known in the art, data sent across the Internet is broken up into packets. This break down of information into packets is a result of a variety of reasons, including hardware limitations, for example. As is known in the art, each packet is provided with a header, for example. The header contains a variety of information, including the order in which related packets should be assembled at a receiving end. Additionally, as the packets are created, information may be added to the header to test for errors introduced into the packet during transmission. This information added to the header may designate the amount of data in the packet, for example.
Each respective packet is placed into a separate “envelope.” The envelope contains address information, which tells the Internet where to send the data. Each of the envelopes for a single piece of data possess the same address information. As a result, each envelope is sent to the same destination to be reassembled. Each of the envelopes contain headers. The headers possess information including the sender address, the receiving address, and the period of time the package should be maintained before discarding, for example.
As the packets travel across the Internet, routers positioned along the way examine the envelopes to determine their addresses. As each of the packets encounter a router, the router determines the most efficient path for sending each packet to the next router, which is closest to the final destination of the packet. Accordingly, after traveling through a series of routers, the packets arrive at their final destination. It should be appreciated that the traffic load on the Internet changes constantly. As a result, related packets forming a package may well be sent along different routes, with different delays.
As the packets arrive at their destination, information for each packet is calculated according to a specific protocol. This calculated information is then compared with information in the header of the received packet. In this manner, it may be determined whether data in the packet has been corrupted during transmission. If information has been corrupted, the packet may be discarded and/or a request generated for retransmission of the original packet.
Eventually, most of the packets are received by a computer, for example, at the destination. Once the packets are received, the packets may be reassembled into their original, unified form using a suitable protocol.
Communications over the Internet utilize three main protocols. These three protocols operate in conjunction with each other to break the data into packets on a sending end, route the packets across the Internet, and then combine the packets on a receiving end. Specifically, the Internet protocol (IP) controls the route of the data. In contrast, the transmission control protocol (TCP) and User datagram protocol (UDP) breaks the data into packets and recombines the packets on the computer that receives the information. Collectively, the IP, TCP and UDP protocols are the TCP/IP protocol.
In further explanation of the nature of the TCP/IP protocol, it should be appreciated that the Internet may be characterized as a packet-switched network. In a packet-switched network, there is not a single, unbroken connection between a sender and a receiver. Rather, when information is sent over the Internet, the information is broken into packets. These packets may be sent over many different routes at the same time. The packets are then collected and reassembled at a receiving end. In contrast, the telephone system may be characterized as a circuit-switched network. In a circuit-switched network, as with a common telephone call, an actual connection is established. That is, after a connection is made, that part of the network supporting the call is dedicated only to that single connection.
The TCP/IP protocol may be characterized as containing a suite of protocols. The UDP is part of the TCP/IP suite of protocols. The UDP may be utilized to conserve bandwidth. However, UDP does not provide for error detection/correction or any other quality of service (QoS) within the existing protocol. Thus, the quality and transmission of calls is uncertain when using UDP.
Bandwidth as used herein may be characterized as the amount of data that can be transmitted over a given communications path. The bandwidth in a digital transmission may be measured in bits per second (bps), for example.
In further explanation, packets utilizing UDP protocol have less overhead, i.e., computer resource requirements, because the packets do not have bits with packet numbers and acknowledgements. As a result, UDP is considered a connectionless protocol because packets arrive at the destination independently from various routes. Further, the packets arrive without sequence numbers. As a result, the UDP protocol does not provide a guarantee that all of the packets for a particular message arrive. This aspect of UDP makes UDP an unreliable transport mechanism.
What is needed is a technique to better control Internet transmissions, such as VoIP calls, by providing real-time information about the quality of inbound and outbound voice, modem, facsimile, video streams, and other multi-media transmissions, for example.